1. Field of the Invention
The present invention relates in general to the field of information processing systems and more particularly to integrating remote file search with a network installable file system.
2. Description of the Related Art
In early computer systems, long-term data storage was typically provided by dedicated storage devices, such as tape and disk drives, connected to a central computer. Requests to read and write data generated by applications programs were processed by special-purpose input/output routines resident in the computer operating system. With the advent of “time sharing” and other early multiprocessing techniques, multiple users could simultaneously store and access data—albeit only through the central storage devices.
It is known to couple a plurality of information processing systems (such as client type information processing systems) together via a network. It is also known to provide networks with a remotely mapped network drive. A remotely mapped network drive is a drive which is remotely accessible by a plurality of client systems via some form of network. An issue relating to a remotely mapped network drive is that when utilizing a remotely mapped network drive, such as a mapped drive on windows (e.g., net use z: \\blah\sharename), or a network file system mounted drive on unix/linux (e.g., mount blah.com:/share/misc/local), and doing a file content search using a command line text search utility such as a Global Regular Expression Processor (grep) program, the performance can be slow.
A network mapped drive enables a remote file system to appear as a local file system on the operating system of the client system. Enabling the mapped network drive to appear as a local file system is useful because it enables application software to access the files on the file system in the same way as local files. However, when performing file searches, which is a common activity for software programmers and system administrators, the performance can be slow because the program has to enumerate all matching file names, and essentially read all the data in all the files and return the data to the client machine where the data is compared against the search pattern (commonly this pattern is a regular expression which is a pattern that describes how the matching should be done and encodes such rules as case, character ranges, and positioning within the line).